signed int
_modschar( signed char x, signed char y ) {
  return ( ( int )x % ( int )y );
}

signed int
_moduschar( unsigned char x, unsigned char y ) {
  return ( ( int )( ( signed char )x ) % ( int )y );
}

unsigned int
_modsuchar( signed char x, signed char y ) {
  return ( ( int )( ( unsigned char )x ) % ( int )y );
}

